<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="main.css">
<title>控制器</title>
</head>
<body>
<div class="title">控制器</div>
<div id="left">
  <strong>目录</strong>
  <a href="#format">规则</a>
  <a href="#var">变量</a>
</div><br>
<div class="title" id="format">规则</div>
<strong>描述：</strong><br>
<pre>所有控制器文件必须存放至 controllers 目录下，框架根据路径自行判断使用哪个控制器。</pre>
<strong>路径示例：</strong>
<pre>http://www.xxx.com/admin/login</pre>
<strong>解说：</strong>
<pre>程序会首先判断 controllers 目录下是否存在 Admin（首字母会变成大写） 目录，若存在则会加载 controllers/Admin/Controller.php 类，同时加载 controllers/Admin/Login.php 类，此时使用的是 Login 控制器。
这时 Controller.php 中必须定义名为 Controller 的类，并集成自 Main 类；Login.php 中必须定义名为 Login 的类，并继承 Controller 的类。
若 Admin 目录不存在，则直接加载 controllers/Login.php 类，此时使用的是 Login 控制器。</pre>
<strong>加载的类文件：</strong>
<pre>controllers/Admin.php (如果 Admin 是个文件夹)
controllers/Admin/Controller.php controllers/Admin/Login.php (否则加载 Admin 目录下的 Controller 以及 Login)</pre>
<a href="#">返回导航</a><br><br>
<div class="title" id="var">变量</div>
<strong>列表：</strong>
<pre>
array param，代表网址中的参数数组序列
string action 代表控制器中的方法部分
</pre>
<strong>示例：</strong>
<pre>
URL: /admin/login/shop/go
此时若 admin 不为控制器下的目录，则：
加载 Admin.php，login 为 Admin 类的方法，且 action 值为 login
shop/go 会成为 param 的值，param[0] 为 shop，param[1] 为 go，以此类推
-
若 admin 为控制器下的名录，则：
加载 Admin/Login.php，shop 为 Login 类的方法，且 action 值为 shop
go 会成为 param 的值，param[0] 为 go，以此类推
</pre>
<strong>获取：</strong>
<pre>在控制器中您可以直接使用 $this->action 和 $this->param 获取变量。</pre>
<a href="#">返回导航</a><br><br>
</body>
</html>